This application relates to an application by the same inventors entitled xe2x80x9cMethods and Apparatus to Despread Dual Codes for CDMA Systems,xe2x80x9d filed on the same date as this application.
This invention relates generally to single code and multi-code receivers, and more particularly to CDMA receivers having correlators to detect received CDMA signals.
The growing importance of wireless communication has increased the demand for data transmission over mobile radio channels. Although GSM standards have become very popular and data service specifications are developing, most current mobile communications still use CDMA technologies. Future multimedia transmission, however, will require wide bandwidths and high data rates, which in turn will require complex and expensive hardware.
CDMA systems use a pseudonoise (PN) sequence to xe2x80x9cspreadxe2x80x9d input data to resist data loss in a noisy wireless environment. The transmitted baseband signal is expressed as                                           S            T                    =                                    ∑              i                        ⁢                                                            b                  i                                ⁡                                  [                  j                  ]                                            ⁢                              C                i                                                    ,                            (        1        )            
where bi[j], a scalar value representing the jth bit of user i, is +1 or xe2x88x921, and Ci, a column vector representing the PN code sequence, also has values of +1 or xe2x88x921. After the baseband signals are summed and transmitted, receivers despread the received signal back into an original input symbol by correlating the received signal and the same Ci used to spread the signal PN code as follows:
bk[k]=sign(CkTSR).xe2x80x83xe2x80x83(2)
The sign function produces a xe2x80x9c1xe2x80x9d if the input is positive and a xe2x80x9cxe2x88x921xe2x80x9d if the input is negative.
For example, assume that the transmitted signal can be represented as a series of elements as follows:
b[0]C0+b[0]C1+b[0]C2+b[0]C3 +b[0]C4+b[0]C5xe2x80x83xe2x80x83(3)
Normally, demodulating would involve xe2x80x9cmultiplyingxe2x80x9d that signal by the same code used for modulating the signal, adding the products, and then dividing the resulting sum by the total number of elements. For example, multiplying the above received signal (3) by the code used for modulating the signal yields:
b[0](C0)2+b[0](C1)2+b[0](C2)2+b[0](C3)2+b[0](C4)2+b[0](C5)2.xe2x80x83xe2x80x83(4)
Because Ci equals +1 or xe2x88x921, equation (4) becomes
b[0]+b[0]+b[0]+b[0]+b[0]+b[0]=6b[0].xe2x80x83xe2x80x83(5)
Dividing by the total number of elements in the modulating code, in this case six, yields the original signal b[0].
Third-generation mobile systems seek to support various types of new services requiring efficient transmission technologies, high bandwidth, and variable data rates. To meet these requirements, many system designers have considered Direct Sequence CDMA (DS-CDMA). Usually, correlators with a sign inverter and integrator are used to detect the user data at the receiver. The correlator output can be expressed by the following equation:                               d          k                =                              ∑                          n              =              0                                                      N                c                            -              1                                ⁢                                                    (                                  -                  1                                )                                            c                                  n                  +                                      kN                    c                                                                        ⁢                          r                              n                +                                  kN                  c                                                                                        (        6        )            
To reduce power consumption, some have proposed an alternative correlator architecture based on sign-magnitude representation of an input signal. This architecture involves dividing the summation into two terms to avoid sign change.                               d          k                =                                            ∑                                                n                  =                  0                                ,                                                      c                                          n                      +                                              kN                        c                                                                              =                  0                                                                              N                  c                                -                1                                      ⁢                          r                              n                +                                  kN                  c                                                              -                                    ∑                                                n                  =                  0                                ,                                                                            c                      n                                        +                                          kN                      c                                                        =                  1                                                                              N                  c                                -                1                                      ⁢                          r                              n                +                                  kN                  c                                                                                        (        7        )            
A register stores the partial summation of each term. This design permits the use of a single adder because the evaluation of each term does not occur simultaneously.
Multi-code CDMA receivers require correlators with the same input signal but different codes. A similar technique divides the summation of correlator operation into several partial summation terms to reduce the complexity. Unfortunately, the required spreading factor in the limited bandwidth restricts the data rate for each CDMA code channel.
To address these concerns, some have used multi-code CDMA transmission to support a high bandwidth and variable data rate in a DS-CDMA system. Multi-code transmission splits a high-rate data stream into several parallel low-rate data streams and spreads them using different code sequences. Multi-code CDMA receivers use multiple parallel correlators to detect the parallel data streams.
When the modulating signal becomes very long, however, the complexity, whether measured by number of operations required in the demodulation or the amount of circuitry, becomes very high. Furthermore, the number of correlators can become significant when the receiver is also using a RAKE combining technique. For example, a wideband CDMA system supporting 2 Mbps over five CDMA code channels, requires forty correlators for a four-finger RAKE receiver and I/Q spreading. In such a high bandwidth case, correlator complexity dominates the system complexity.
Some researchers have proposed code sets to reduce the computational complexity of multi-code correlators. For example, a spreading code sequence using a Walsh code structure spread by a PN code can use a fast Hadamard transform (FHT). In such systems, the multi-code CDMA signal is first despread using the PN code and then an FHT is used to correlate the signal. These systems, however, limit the code size to the number of available Walsh codes. Furthermore, correlation operations for all Walsh codes must be done simultaneously, requiring calculation of the full FHT even when only partial results are needed.
Other schemes using dual gold codes have been proposed with some decrease in complexity and increase in flexibility. Unfortunately, the restrictions on code sets and full correlation operations still exist in these schemes.
A method consistent with this invention of demodulating an encoded signal comprises forming groups of code elements having one of a predetermined set of values, the groups of code elements representing a code used to encode the signal;
identifying locations for which a corresponding set of element values for all the codes are equivalent;
aggregating the portions of the signal at the locations identified as having equivalent element values; and performing correlation functions on the aggregated portions to demodulate the signal.
Another method consistent with this invention of demodulating a signal encoded with a modulation code, the demodulation using subcodes of code elements at sequential locations, each of the elements having one of a predetermined set of values and the subcodes collectively constituting the modulation code, comprises identifying locations for which a corresponding set of element values for all the subcodes are equivalent; aggregating the portions of the signal at the locations identified as having equivalent element values; and performing correlation functions on the aggregated portions to demodulate the signal.
Yet another method consistent with this invention of demodulating a signal encoded with a multiple modulation codes of code elements at sequential locations, each of the elements having one of a predetermined set of values, comprises identifying locations for which a corresponding set of element values for all the codes are equivalent; aggregating the portions of the signal at the locations identified as having equivalent element values; and performing correlation functions on the aggregated portions to demodulate the signal.
A system consistent with this invention demodulates an encoded signal using groups of code elements having one of a predetermined set of values, the groups of code elements representing a code used to encode the signal The system comprises means for aggregating portions of the signal at locations for which a corresponding set of elements of the groups of codes is equivalent; and means for correlating the aggregated portions to demodulate the signal.
Both the foregoing general description and the following detailed description are exemplary and explanatory only and do not restrict the invention claimed. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate some systems and methods consistent with the invention and, together with the description, explain the principles of the invention.